#ifndef __M_MSG_H__
#define __M_MSG_H__
/*
  定义日志消息类，进行日志中间信息的存储
  1、日志输出时间     用于过滤日志输出时间
  2、日志等级        进行日志过滤分析
  3、源文件名称
  4、源代码行号
  5、线程ID
  6、日志主体消息
  7、日志器名称
*/
#include "level.cpp"
#include "util.cpp"
#include <iostream>
#include <string>
#include <thread>

namespace Mylog
{
    struct LogMsg
    { 
        time_t _ctime; //日志产生时间戳
        Loglevel::value _level; //日志等级
        size_t _line; //行号
        std::thread::id _tid; //线程ID
        std::string _file; //源文件名称
        std::string _logger; //日志器名称
        std::string _payload; //有效消息数据

        LogMsg(Loglevel::value _level, size_t line, const std::string file, const std::string logger, const std::string msg):
            _ctime(util::Date::now()), 
            _level(level), 
            _line(line), 
            _tid(std::this_thread::get_id),
            _file(file),  
            _logger(logger),
            _payload(msg){}
    }; 
}

#endif 